package com.sicheng.蓝桥.国赛准备;

import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/6/5 17:56
 */
public class 一二三 {
    /**
     * 小蓝发现了一个有趣的数列，这个数列的前几项如下：
     * 1 ,
     * 1 , 2,
     * 1 , 2 , 3 ,
     * 1 , 2 , 3 , 4 , . . .
     * 小蓝想知道，这个数列中，连续一段的和是多少。
     * <p>
     * 输入格式
     * <p>
     * 输入的第一行包含一个整数 T，表示询问的个数。
     * 接下来 T行，每行包含一组询问，其中第 i行包含两个整数 li ri
     * 个数的和。
     * <p>
     * 输出格式
     * <p>
     * 输出T行，每行包含一个整数表示对应询问的答案。
     * <p>
     * 测试样例1
     * <p>
     * Input
     * 3
     * 1 1
     * 1 3
     * 5 8
     * <p>
     * Output：
     * 1
     * 4
     * 8
     * 原文链接：https://blog.csdn.net/qq_43449564/article/details/120803410
     */

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int t = scanner.nextInt();
        int n = 50000000;
        if (t <= 1000) {
            n = 1000001;
        }
        long[] nums = new long[n];
        init(nums);
        for (int i = 0; i < t; i++) {
            int l = scanner.nextInt();
            int r = scanner.nextInt();
            System.out.println(nums[r] - nums[l - 1]);
        }
    }

    private static void init(long[] nums) {
        int count = 1;
        for (int i = 1; i < nums.length; i++) {
            for (int j = 1; j <= i; j++) {
                if (count == nums.length) {
                    return;
                }
                nums[count] = j;
                nums[count] += nums[count - 1];
                count++;
            }
        }
    }


}
